package co.gov.mintic.inmueblesdisponibles.android;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.widget.BaseAdapter;
import android.widget.ListView;
import co.gov.mintic.inmueblesdisponibles.util.AnalizadorDatos;
import co.gov.mintic.inmueblesdisponibles.vo.Departamento;
import co.gov.mintic.inmueblesdisponibles.vo.FiltroBusqueda;
import co.gov.mintic.inmueblesdisponibles.vo.Inmueble;

/**
 * Activity que visualiza los resultados de la busqueda
 * @author Benjamin
 *
 */
public class Resultados extends Activity {

	final static int AUTHORIZE_ACTIVITY_RESULT_CODE = 0;
	final static int PICK_EXISTING_PHOTO_RESULT_CODE = 1;

	private List ciudades;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.resultados);

		HashMap<String, Departamento> dptos = new HashMap<String, Departamento>();
		AnalizadorDatos analizador = new AnalizadorDatos();
		analizador.init(this);

		Bundle extras = getIntent().getExtras();
		
		String dpto = (String) getIntent().getExtras().get("dpto");
		String ciudad = (String) getIntent().getExtras().get("ciudad");
		String estrato = (String) getIntent().getExtras().get("estrato");
		String tipoInmueble = (String) getIntent().getExtras().get("tipoInmueble");
		String precio = (String) getIntent().getExtras().get("precio");
		
		FiltroBusqueda filtro = new FiltroBusqueda();
		filtro.setPrecio(precio);
		filtro.setCiudad(ciudad);
		filtro.setDpto(dpto);
		filtro.setEstrato(estrato);
		filtro.setTipoInmueble(tipoInmueble);
		List<Inmueble> inmuebles = analizador.buscarInmuebles(filtro);
		Collections.sort(inmuebles);
		BaseAdapter adapter = new CustomListAdapter(this, android.R.layout.simple_list_item_1, inmuebles);
		((ListView) findViewById(R.id.resultados)).setAdapter(adapter);
		SeleccionInmueble selInmueble = new SeleccionInmueble();
		selInmueble.setActivity(this);
		((ListView) findViewById(R.id.resultados)).setOnItemClickListener(selInmueble);

	}

	public List getCiudades() {
		return ciudades;
	}

	public void setCiudades(List ciudades) {
		this.ciudades = ciudades;
	}

	private String readStream(InputStream in) {
		BufferedReader reader = null;
		String data = "";
		try {
			reader = new BufferedReader(new InputStreamReader(in));
			String line = "";
			while ((line = reader.readLine()) != null) {
				data += line;
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (reader != null) {
				try {
					reader.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return data;
	}

}
